Optimizing Binary Code Produced by Valgrind (Project Report on Virtual Execution Environments Course - AVExe)

نویسندگان

  • Filipe Cabecinhas
  • Nuno P. Lopes
  • Renato Crisostomo
  • Luís Veiga
چکیده

Valgrind is a widely used framework for dynamic binary instrumentation and its mostly known by its memcheck tool. Valgrinds code generation module is far from producing optimal code. In addition it has many backends for different CPU architectures, which difficults code optimization in an architecture independent way. Our work focused on identifying sub-optimal code produced by Valgrind and optimizing it.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Trace Based Compilation in Interpreter-less Execution Environments

Trace based compilation is a technique used in managed language runtimes to detect and compile frequently executed program paths. The goal is reduced compilation time and improved code quality since only “hot” parts of methods are ever compiled. Trace compilation is well suited for interpreter based runtime environments because the control flow of an application program is highly visible and re...

متن کامل

Runtime Code Generation with JVM and CLR

Modern bytecode execution environments with optimizing just-in-time compilers, such as Sun’s Hotspot Java Virtual Machine, IBM’s Java Virtual Machine, and Microsoft’s Common Language Runtime, provide an infrastructure for generating fast code at runtime. Such runtime code generation can be used for efficient implementation of parametrized algorithms. More generally, with runtime code generation...

متن کامل

Loop Optimization in Managed Code Environments with Expressions Evaluated Only Once

This paper is concerned with optimizing code execution in virtual machine environments. Code motion is one of the many optimization techniques. We considered a special case of optimization – a loop containing expressions that can be effectively evaluated once. A solution for this case is discussed and two algorithms are proposed. Experimental results for Java VM, MS .NET and Mono are shown here...

متن کامل

Compiler-guaranteed safety in code-copying VMs

Virtual Machine authors face a difficult choice: to settle for low performance, cheap interpreter, or to write a specialized and costly compiler. One of the methods to bridge the gap between these two distant solutions is to use the existing code-copying technique that reuses chunks of VM’s binary code creating a simple JIT. While simple in principle this technique is not reliable without a com...

متن کامل

Catchconv: Symbolic execution and run-time type inference for integer conversion errors

We propose an approach that combines symbolic execution and run-time type inference from a sample program run to generate test cases, and we apply our approach to signed/unsigned conversion errors in programs. A signed/unsigned conversion error occurs when a program makes control flow decisions about a value based on treating it as a signed integer, but then later converts the value to an unsig...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/0810.0372  شماره 

صفحات  -

تاریخ انتشار 2008